DNS format.
Build a bundle with the cmake flow on macos.
Delete gpsbabelfe script that messed with LD_LIBRARY_PATH and
then executed gpsbabelfe-bin. This file was obsolete, and
it's existence upset Xcode (entitlement file handling).
list(REMOVE_DUPLICATES QT_DEFINITIONS)
message("QT DEFS: \"${QT_DEFINITIONS}\"\n")
-set(QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5WebEngineWidgets_LIBRARIES} ${Qt5WebChannel_LIBRARIES} ${LIBUDEV_LIBRARIES} ${LIBS})
+set(QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5WebEngineWidgets_LIBRARIES} ${Qt5WebChannel_LIBRARIES})
#list(REMOVE_DUPLICATES QT_LIBRARIES)
message("QT LIBS: \"${QT_LIBRARIES}\"\n")
include_directories(AFTER SYSTEM ${QT_INCLUDE_DIRS})
add_definitions(${QT_DEFINITIONS} -DHAVE_WEBENGINE)
-# mac:LIBS += -framework IOKit -framework CoreFoundation
+if (APPLE)
+ find_library(IOKIT_LIBRARIES IOKit)
+ find_library(COREFOUNDATION_LIBRARIES CoreFoundation)
+endif()
if (UNIX AND NOT APPLE)
find_package(PkgConfig REQUIRED)
version_mismatch.h
)
-add_executable(${TARGET} ${SOURCES} ${HEADERS} ${RESOURCES})
-set(LIBS ${QT_LIBRARIES} ${LIBUDEV_LIBRARIES})
+if (APPLE)
+ set(MACOSX_BUNDLE_ICON_FILE appicon.icns)
+ set(ICON_FILE images/${MACOSX_BUNDLE_ICON_FILE})
+ set_source_files_properties(${ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
+
+ add_executable(${TARGET} MACOSX_BUNDLE ${SOURCES} ${HEADERS} ${ICON_FILE} ${RESOURCES})
+
+ # Info.plist has not been debugged with the cmake flow, it's a bit different than with the qmake flow.
+ set_target_properties(${TARGET} PROPERTIES
+ MACOSX_BUNDLE_GUI_IDENTIFIER org.gpsbabel.${TARGET}
+ MACOSX_BUNDLE_ICON_FILE ${MACOSX_BUNDLE_ICON_FILE}
+ )
+else()
+ add_executable(${TARGET} ${SOURCES} ${HEADERS} ${RESOURCES})
+endif()
+
+set(LIBS ${QT_LIBRARIES} ${LIBUDEV_LIBRARIES} ${IOKIT_LIBRARIES} ${COREFOUNDATION_LIBRARIES})
list(REMOVE_DUPLICATES LIBS)
target_link_libraries(${TARGET} ${LIBS})
get_directory_property(IncDirs INCLUDE_DIRECTORIES)
message("Include Directores are: \"${IncDirs}\"\n")
+add_custom_target(package COMMAND ./package_app DEPENDS ${TARGET})
unix:TARGET=gpsbabelfe
mac:TARGET=GPSBabelFE
+# Set QMAKE_TARGET_BUNDLE_PREFIX so we get the correct CFBundleIdentifier in Info.plist
+darwin:QMAKE_TARGET_BUNDLE_PREFIX=org.gpsbabel
+
FORMS += aboutui.ui
FORMS += advui.ui
FORMS += donate.ui
+++ /dev/null
-#!/bin/sh
-# $Id: gpsbabelfe,v 1.2 2009-09-14 14:25:14 robertl Exp $
-# Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
-#
-
-
-FollowSymLinks()
-{
- fullpath="$1"
- while [ -L "$fullpath" ]; do
- pathdir=`dirname "$fullpath"`
- linktarget=`/bin/ls -l "$fullpath" | sed -e 's/.* -> //'`
- d1=`dirname "$linktarget"`
- linkdir=`cd "$pathdir" && cd "$d1" && pwd`
- linkfile=`basename "$linktarget"`
- fullpath=$linkdir/$linkfile
- done
- echo $fullpath
-}
-
-finalpath=`FollowSymLinks "$0"`
-LD_LIBRARY_PATH=`dirname "$finalpath"`:${LD_LIBRARY_PATH}
-export LD_LIBRARY_PATH
-
-if [ -x "${finalpath}-bin" ]; then
- #ldd "${finalpath}-bin"
- exec "${finalpath}-bin" "$@"
-fi
-echo "Couldn't find/run gpsbabelfe-bin. Possible installation issues"
-exit 1
-